#ifndef __DEBUG_H__
#define __DEBUG_H__

#include <assert.h>

#define DTK_ASSERT assert

#define DTK_TYPE_ASSERT(a,t) do{            \
    assert(a!=NULL);                        \
    assert((void*)a->type == (void*)(t));     \
}while(0)

#define DTK_LAYOUT_TYPE_ASSERT(a,t) do{            \
    assert(a!=NULL);                        \
    assert((void*)dtk_layout_get_type(a)==(void*)(t));     \
}while(0)

#endif
